#ifndef __FUNC_LED_H__
#define __FUNC_LED_H__

typedef struct
{
  GPIO_TypeDef* gpio;
  uint16_t pin;
  uint8_t mode;
  uint8_t timeout;
  int tick;             /*<250ms tick*/
}LEDBLINK_TYPE;

typedef struct
{
  GPIO_TypeDef* signal_gpio[2];
  uint16_t signal_pin[2];
}LEDTaskParaTypeDef;

enum LED_MODE
{
  LED_OFF = 0,
  LED_ON,
  LED_SLOW,
  LED_FAST,
  LED_BLINK,
  LED_FAST_ON
};

enum LED_SIGNAL
{
  LED_MissionStart = 0,
  LED_MissionStop,
  LED_Hit
};

typedef enum LED_SIGNAL LEDQueueDataType;

void led_TaskFunction(void *pvParameters);
void LEDBlink_handler(LEDBLINK_TYPE* led);
#endif